// // let name="lzs";
// // let age=28;
// // function Persion(name,age){
// //     this.name=name;
// //     this.age=age;
// //     this.consume=function (){
// //         console.log('我是'+ `${ this.name }` +',我今年'+`${ this.age }`+'岁了');  
// //     }
// // }
// // const persion=Persion("吕忠帅",28);
// // // console.log(persion.consume());
// // console.log("你好");
// // 构造函数与原型的结合
// // function Persion(name,age){
// //     this.name=name;
// //     this.age=age;
// // }
// // Persion.prototype.sayHello=function () {
// //     console.log(`Hello,I am ${this.name}`);
// // }
// // const persion1=new Persion("lzs",10);
// // const persion2=new Persion("lv",12);
// // console.log(persion1.sayHello());
// // console.log(persion2.sayHello());
// // console.log(persion1.sayHello==persion2.sayHello);

// // const data=new Date();
// // console.log(data);

// // const user=new Object({name:'小明',age:20});
// // console.log(user);
// // let student={name:"小红",age:19};
// // console.log(student);
// // console.log(student.constructor);
// // console.log(student instanceof Object);

// let list=[1,2.0,"lzs"];
// // list.forEach(function(item,index) {
// //     console.log("item:"+item);
// //     console.log("index:"+index);
// // })
// // let arr=list.filter(function (item) {
// //     return item=="lzs";
// // })
// // console.log(arr);
// // let arr1=list.map(function (item) {
// //     return item+2;
// // })
// // console.log(arr1);
// // let arr2=list.map(item=>item+2);
// // // console.log(1111);
// // console.log(arr2);

// // let arr3=list.join(``);
// // console.log(arr3);

// // let arr4=list.find(function (item) {
// //     return item>1;
// // })
// // console.log(arr4);

// // let arr5=list.findIndex(function (item) {
// //     return item==="lzs";
// // })
// // console.log(arr5);
// // function Persion(name,age) {
// //     this.name=name;
// //     this.age=age;
// //     this.sayHi=function () {
// //         console.log("嗨~,我是Persion的sayHi静态方法");
// //     }
// // }
// // Persion.prototype.sayHi=function () {
// //     console.log("我是原型函数的sayHi方法");
// // }
// // const persion = new Persion("lzs",20);
// // console.log(persion.name);
// // persion.sayHi();

// // 定义构造函数
// // function Person(name, age) {
// //     this.name = name;
// //     this.age = age;
// //   }
  
//   // 以对象形式给原型添加多个方法
//   // Person.prototype = {
//     // 手动设置constructor指向原来的构造函数
//     // constructor: Person,
    
//   //   // 定义方法1
//   //   sayHello: function() {
//   //     console.log(`大家好，我是${this.name}`);
//   //   },
    
//   //   // 定义方法2
//   //   sayAge: function() {
//   //     console.log(`我今年${this.age}岁了`);
//   //   },
    
//   //   // 定义方法3
//   //   introduce: function() {
//   //     this.sayHello();
//   //     this.sayAge();
//   //   }
//   // };
  
//   // // 创建实例
//   // const person1 = new Person("张三", 25);
  
//   // // 测试
//   // person1.introduce(); // 输出：大家好，我是张三  我今年25岁了
  
//   // 验证constructor是否正确指向
// //   console.log(person1.constructor === Person); // 输出：true
// //   console.log(Person.prototype.constructor === Person); // 输出：true

//延迟执行函数setTime1
//1、基础用法：延迟执行
// // console.log('开始执行');
// setTimeout(() => {
//   console.log("5s后执行");
  
// }, 5000);
// console.log("继续执行");

//2、传递参数给回调  setTimeout(callback, delay, param1, param2, ...);
// function greet(name,age) {
//   console.log(`你好我是${name},${age}`);
// }
// setTimeout(greet, 2000,"zls",18);

/* // 3、取消定时器
const timerId=setTimeout(() => {
    console.log("这个定时器不会被执行");
    
}, 2000);
// clearTimeout(timerId); */

/* const obj = {
    name: "Tom",
    sayHi: function() {
      console.log(`Hi, ${this.name}`);
    }
  };
  
  // 错误：this 指向全局，name 未定义
  setTimeout(obj.sayHi, 1000); // 输出：Hi, undefined
  
  // 正确：用箭头函数绑定 this
  setTimeout(() => obj.sayHi(), 1000); // 输出：Hi, Tom */
/* 
  console.log(navigator.onLine);
  console.log(navigator.userAgent);
  console.log(navigator.language);
  console.log(navigator.cookieEnabled); */
  
  